config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
	bool "Sourcery CodeBench MIPS 2016.05"
	depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
	depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
	# Unsupported MIPS cores
	depends on !BR2_mips_interaptiv
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
	depends on !BR2_MIPS_NABI32
	depends on !BR2_STATIC_LIBS
	select BR2_TOOLCHAIN_EXTERNAL_GLIBC
	select BR2_TOOLCHAIN_HAS_SSP
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_INSTALL_LIBSTDCPP
	select BR2_HOSTARCH_NEEDS_IA32_LIBS
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
	select BR2_TOOLCHAIN_GCC_AT_LEAST_5
	help
	  Sourcery CodeBench toolchain for the MIPS architecture, from
	  Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
	  2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
	  has support for the following variants:
	    - MIPS32r2 - Big-Endian, 2008 NaN, O32
	      Select MIPS (big endian) core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mnan=2008
	    - MIPS32r2 - Big-Endian, O32
	      Select MIPS (big endian) core
	      Disable BR2_SOFT_FLOAT
	    - MIPS32r2 - Big-Endian, O32, MIPS16
	      Select MIPS (big endian) core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mips16
	    - MIPS32r2 - Big-Endian, Soft-Float, O32
	      Select MIPS (big endian) core
	      Select BR2_SOFT_FLOAT
	    - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
	      Select MIPS (big endian) core
	      Select BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mips16
	    - MIPS32r2 - Little-Endian, 2008 NaN, O32
	      Select MIPS (little endian) core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mnan=2008
	    - MIPS32r2 - Little-Endian, O32
	      Select MIPS (little endian) core
	      Disable BR2_SOFT_FLOAT
	    - MIPS32r2 - Little-Endian, O32, MIPS16
	      Select MIPS (little endian) core
	      Disable BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mips16
	    - MIPS32r2 - Little-Endian, Soft-Float, O32
	      Select MIPS (little endian) core
	      Select BR2_SOFT_FLOAT
	    - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
	      Select MIPS (little endian) core
	      Select BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mips16
	    - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
	      Select MIPS (little endian) core
	      Select BR2_SOFT_FLOAT
	      Set BR2_TARGET_OPTIMIZATION to -mmicromips
	    - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
	      Not usable in Buildroot yet.
	    - MIPS32r2 - uClibc, Big-Endian, O32
	      Not usable in Buildroot yet.
	    - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
	      Not usable in Buildroot yet.
	    - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
	      Not usable in Buildroot yet.
	    - MIPS32r2 - uClibc, Little-Endian, O32
	      Not usable in Buildroot yet.
	    - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
	      Not usable in Buildroot yet.
	    - MIPS64r2 - Big-Endian, N64
	      Select MIPS64 (big endian) core
	      Select the n64 ABI
	      Disable BR2_SOFT_FLOAT
	    - MIPS64r2 - Big-Endian, Soft-Float, N64
	      Select MIPS64 (big endian) core
	      Select the n64 ABI
	      Select BR2_SOFT_FLOAT
	    - MIPS64r2 - Little-Endian, N64
	      Select MIPS64 (little endian) core
	      Select the n64 ABI
	      Disable BR2_SOFT_FLOAT
	    - MIPS64r2 - Little-Endian, Soft-Float, N64
	      Select MIPS64 (little endian) core
	      Select the n64 ABI
	      Select BR2_SOFT_FLOAT

comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
	depends on BR2_MIPS_NABI32
	depends on !BR2_STATIC_LIBS
